package ma.ac.onousc.gestionfi.budget.model.DAO;

import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;

import javax.ejb.Local;

import ma.ac.onousc.gestionfi.budget.model.Etablissement;
import ma.ac.onousc.gestionfi.budget.model.ProgrammeEmploi;
import ma.ac.onousc.gestionfi.budget.model.Rubrique;
import ma.ac.onousc.gestionfi.budget.model.RubriqueBudgetaire;
import ma.ac.onousc.gestionfi.budget.model.TypeBudget;

import org.primefaces.model.TreeNode;

@Local
public interface RubriqueBudgetaireDAO extends
		GenericDAO<RubriqueBudgetaire, Integer> {
	public List<RubriqueBudgetaire> findAllRubriqueBudgetaire();

	public List<RubriqueBudgetaire> findRubriqueBudgetaireByTypeBudget(
			TypeBudget typeBudget, ProgrammeEmploi pe);

	public List<Object> findRubriqueBudgetaireByEtaBAnnee(
			Integer idEtablissement, int annee, int idTypeBudget);

	public void parcourirArbre(TreeNode arbre);

	public HashMap<Integer, BigDecimal> findSUMByTypeBudgetAndAnnee(
			TypeBudget typeBudget, ProgrammeEmploi pe);

	public List<RubriqueBudgetaire> findByProgrammeEmploiAndEtablissement(
			ProgrammeEmploi annee, Etablissement etablissement);
	
	public RubriqueBudgetaire findByEtabAndAnneeAndRubrique(
			ProgrammeEmploi annee, Etablissement etablissement,Rubrique rubrique);
}